#include <stdio.h>

// 定义一个 swap 函数，接收两个 int 类型的指针
void swap(int *x, int *y) {
    int temp = *x;  // 取 x 指针指向的值（即 a 的值）
    *x = *y;        // 把 y 指针指向的值（即 b 的值）赋给 x 指向的变量（即 a）
    *y = temp;      // 把之前保存的 x 的值（即原来的 a）赋给 y 指向的变量（即 b）
}

int main() {
    int a, b;
    int *q, *p;

    printf("请输入两个整数: ");
    scanf("%d %d", &a, &b);

    q = &a;  // q 指向 a
    p = &b;  // p 指向 b

    printf("交换前: a = %d, b = %d\n", a, b);

    // 如果 a < b，我们就交换它们，让 a 是大的那个
    if (a < b) {
        swap(q, p);  // 传入指针 q 和 p，等价于传入 &a 和 &b
    }

    printf("交换后（大的在前）: a = %d, b = %d\n", a, b);

    return 0;
}